36 research outputs found

    A complete natural deduction system for the relational calculus

    Get PDF
    A relational calculus is a formal system in which relation is the fundamental concept. The simplest relational calcu1us, that of ordinary binary relations, was introduced by Tarski in [4]. Tarski's system is essentially an algebra in which the operations are the usual Boolean operations (on sets of ordered pairs) together with the two special operations converse (denoted by u) and composition (denoted by ";" or by juxtaposition)

    Programming constructs for nonprocedural languages

    Get PDF
    In this paper how a pure denotative (nonprocedural) language based on the lambda calculus can be provided with purely denotative analogs of the various constructs - such as while loops, blocks, case statements and the like - of conventional imperative structured programming languages. They can be simulated quite adequately using only two simple tools: phrases, which are compound expressions not unlike blocks, and pronouns, special variables not unlike keywords between which certain relationships are 'understood' to hold

    Lucid : a formal system for writing and proving programs

    Get PDF
    Lucid is both a programming language and a formal system for proving properties of Lucid programs. The programming language is unconventional in many ways, although programs are readily understood as using assignment statements and loops in a 'structured' fashion. Semantically, an assignment statement is really an equation between 'histories', and a whole program is simply an unordered set of such equations. From these equations, properties of the program can be derived by straightforward mathematical reasoning, using the Lucid formal system. The rules of this system are mainly those of first order logic, together with extra axioms and rules for the special Lucid functions. This paper formally describes the syntax and semantics of programs and justifies the axioms and rules of the formal system

    Introduction to the Baire space

    Get PDF
    This report reproduces the chapter 0 of my PhD dissertation, "Reducibility and determinateness on the Baire Space" . I have produced it as a Warwick Theory of Computation report because infinite games and the computational approach to topology presented here is, I feel, very relevant to computer science. The basic connection between topology and computability, explained in section E, is as follows: a function from the Baire space to itself is continuous if it can be computed by a continuously operating numeric 'filter' which has access to a countably infinite database. It used to be thought that infinite computations (not to mention infinite games) were of little relevance to practical computing, which (it was thought) was inherently finitary. The emergence of the dataflow model of computation (among other factors) has changed all this; computer scientists are now keenly interested in the behaviour and properties of continuously operating (nonterminatinq) devices. The entire history of the input to, or output from, such a device will normally be an infinite sequence of finite objects. Such a history can be 'coded up' as an infinite sequence of natural numbers; i.e., as an element of the Baire Space. The study of this space could therefore prove to be as important in computer science as it has already proved to be in (say) statistics. Of course I make no claims to have discovered the material presented here. It has been known for many years now that "computability" and "continuity" are closely related. However, I hope that this report will in a small way help to popularise the 'topological' approach to computation. I would like to thank John Addison for Introducing me to the 'operational' approach to topology. Readers interested in the dissertation itself are referred to Theory of Computation report no 44, which ls a collection of the more important parts

    General Logic Programs as Infinite Games

    Get PDF
    In [vE86] M.H. van Emden introduced a simple game semantics for definite logic programs. Recently [RW05,GRW05], the authors extended this game to apply to logic programs with negation. Moreover, under the assumption that the programs have a finite number of rules, it was demonstrated in [RW05,GRW05] that the game is equivalent to the well-founded semantics of negation. In this paper we present work-in-progress towards demonstrating that the game of [RW05,GRW05] is equivalent to the well-founded semantics even in the case of programs that have a countably infinite number of rules. We argue however that in this case the proof of correctness has to be more involved. More specifically, in order to demonstrate that the game is correct one has to define a refined game in which each of the two players in his first move makes a bet in the form of a countable ordinal. Each ordinal can be considered as a kind of clock that imposes a "time limit" to the moves of the corresponding player. We argue that this refined game can be used to give the proof of correctness for the countably infinite case

    08271 Abstracts Collection -- Topological and Game-Theoretic Aspects of Infinite Computations

    Get PDF
    From June 29, 2008, to July 4, 2008, the Dagstuhl Seminar 08271 ``Topological and Game-Theoretic Aspects of Infinite Computations\u27\u27 was held in the International Conference and Research Center (IBFI), Schloss Dagstuhl. During the seminar, many participants presented their current research, and ongoing work and open problems were discussed. Abstracts of the presentations given during the seminar as well as abstracts of seminar results and ideas are put together in this paper. The first section describes the seminar topics and goals in general. Links to extended abstracts or full papers are provided, if available

    An extensional treatment of dataflow deadlock

    Get PDF
    We discuss deadlock in reference to a simple equation data-flow language, and devise a test (the cycle sum test) which is applied to the dependency graph of a Program we use Kahn's extensional semantics of data-flow and give a purely extensional (non operational) proof that no program passing the cycle sum test can ever deadlock. The proof is based on the notions of size (length) and completeness in the domain of histories, and should extend to a much widen context

    Away from the operations view of computer science

    Get PDF
    We argue that classical programming languages are based on a fundamentally mistaken emphasis on the operational aspect of computation. These languages are seen as the means by which the programmer brings about particular kinds of operational activity (such as procedure calling or message passing). We suggest an alternate philosophy which places the emphasis on static, extensional (mathematical) concepts such as that of function or sequence. We define a simple functional language (Luswim) based on the principles. The Luswim programmer specifies the desired output, and operational concepts such as data flow message passing or coroutine linkage can be used to evaluate the specification. Operational activity occupies its proper place, namely as means to an end rather than an end in itself

    Classified algebras

    Get PDF
    We present a new formal system for the specification and verification of abstract data types, one which allows subtypes and polymorphism. The new system is based on a modified notion of algebra, namely that of classified algebra. A classified algebra (our terminology) is essentially a single sorted algebra together with a classification (family of subsets) of its universe. The classification, which is not necessarily a partition, is labelled by sort (type) symbols; the subset of the universe labelled by a sort symbol s are the objects of ‘type’ s. An assertion in the new system is either an equation, which asserts that two expressions always have the same value, or a declaration, which asserts that the value of a particular expression is always of a particular type. Equations and declarations have equal status and the rules of inference (substitution and replacement) can be applied to both. We show that any specification (set of assertions) has an initial model, unique up to isomorphism, which we can take to be the family of data types and operations specified. The declarations in a specification act as the ‘generators’ of the types, and this principle forms the basis for an inductlon rule of inference for proving assertions about initial models
    corecore